home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.orig.lzh / misc / getdate.c < prev    next >
C/C++ Source or Header  |  1989-06-27  |  1KB  |  80 lines

  1. /*
  2.  * getdate ascii_time ... - print the time_t of ascii_time(s)
  3.  */
  4.  
  5. #include <stdio.h>
  6. #include <ctype.h>
  7. #include <time.h>
  8. #include <sys/types.h>
  9. #include <sys/timeb.h>
  10.  
  11. #define    DAY    (24L*60L*60L)
  12.  
  13. struct timeb ftnow;
  14.  
  15. char *progname;
  16.  
  17. extern int errno;
  18. extern char *strcpy();
  19. extern char *strncpy();
  20. extern char *strcat();
  21. extern char *strchr();
  22. extern char *strtok();
  23. extern long atol();
  24. extern char *malloc();
  25. extern struct tm *gmtime();
  26. extern time_t time();
  27.  
  28. extern time_t getdate();
  29.  
  30. /* Forwards. */
  31. extern void process();
  32.  
  33. /*
  34.  - main - parse arguments and handle options
  35.  */
  36. main(argc, argv)
  37. int argc;
  38. char *argv[];
  39. {
  40.     register int c;
  41.     register int errflg = 0;
  42.     extern int optind;
  43.     extern char *optarg;
  44.  
  45.     progname = argv[0];
  46.     ftime(&ftnow);
  47.  
  48.     while ((c = getopt(argc, argv, "")) != EOF)
  49.         switch (c) {
  50.         case '?':
  51.         default:
  52.             errflg++;
  53.             break;
  54.         }
  55.     if (errflg || optind == argc) {
  56.         (void) fprintf(stderr, "Usage: %s ascii_time ...\n", progname);
  57.         exit(2);
  58.     }
  59.  
  60.     for (; optind < argc; optind++)
  61.         process(argv[optind]);
  62.     exit(0);
  63. }
  64.  
  65. /*
  66.  * process - print time_t of tm
  67.  */
  68. void
  69. process(tm)
  70. char *tm;
  71. {
  72.     time_t it;
  73.  
  74.     it = getdate(tm, &ftnow);
  75.     if (it < 0)
  76.         error("`%s' not valid date", tm);
  77.     else
  78.         (void) printf("%ld\n", it);
  79. }
  80.